-- @owner: @nanyang12
-- @date: 2025/3/25
-- @testpoint:GMS_XMLGEN.CLOSECONTEXT函数使用已关闭的句柄，合理报错
@conn PrimaryDbAmode;
--前置条件：
drop extension if exists gms_xmlgen cascade;
create extension gms_xmlgen;
--step1:句柄关闭，使用getxml获取数据，报错
DECLARE
 ctx gms_xmlgen.ctxHandle;
 xmlData CLOB;
BEGIN
 ctx := gms_xmlgen.newContext('SELECT 1');
 gms_xmlgen.closecontext(xml_cxt);
 xmlData := gms_xmlgen.getXML(ctx);
END;
/
--step2:句柄关闭，使用getxmltype获取数据，报错
DECLARE
 ctx gms_xmlgen.ctxHandle;
 xmlData xmltype;
BEGIN
 ctx := gms_xmlgen.newContext('SELECT 1');
 gms_xmlgen.closecontext(xml_cxt);
 xmlData := gms_xmlgen.getXMLtype(ctx::text);
END;
/
--step3:清理环境
drop extension if exists gms_xmlgen cascade;